﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Kokomo.Mirror.Ia32
{
	[Flags]
	public enum Prefixes
	{
		None = 0,

		CsSegmentOverride = 0x01,
		SsSegmentOverride = 0x02,
		DsSegmentOverride = 0x03,
		EsSegmentOverride = 0x04,
		FsSegmentOverride = 0x05,
		GsSegmentOverride = 0x06,

		SegmentOverrideMask = 0x0F,

		OperandSizeOverride = 0x10,	/* 0x66 */
		AddressSizeOverride = 0x20,	/* 0x67 */

		SizeOverrideMask = 0xF0,

		BranchTakenHint = 0x100,
		BranchNotTakenHint = 0x200,
		BranchHintMask = 0xF00,

		Lock = 0x1000,
		Repne = 0x2000,
		Repe = 0x3000,	/* 0xF3 */

		Rex_b = 0x10000,
		Rex_x = 0x20000,
		Rex_r = 0x40000,
		Rex_w = 0x80000,
		RexMask = 0xF0000,
		RexShift = 16
	}
}
